home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / u_man / cat1 / ftnmgen.z / ftnmgen
Text File  |  1998-10-30  |  5KB  |  119 lines

  1. FTNMGEN(1)                                            Last changed: 7-23-97
  2.  
  3.  
  4. NNAAMMEE
  5.      ffttnnmmggeenn - Invokes the Fortran makefile generator
  6.  
  7. SSYYNNOOPPSSIISS
  8.      ffttnnmmggeenn [--aa] [--cc _c_o_m_p_i_l_e_r] [--ff _f_l_a_g_s] [--mm _m_a_k_e_f_i_l_e] [--oo _c_o_m_m_a_n_d__n_a_m_e]
  9.      _f_i_l_e_s
  10.  
  11. IIMMPPLLEEMMEENNTTAATTIIOONN
  12.      UNICOS, UNICOS/mk, and IRIX systems
  13.  
  14. DDEESSCCRRIIPPTTIIOONN
  15.      The ffttnnmmggeenn utility splits out all Fortran subroutines from _f_i_l_e_s by
  16.      using the ffttnnsspplliitt(1) utility and produces a makefile that may be used
  17.      to compile and load a program.  Optionally, by using the --aa option,
  18.      ffttnnmmggeenn can create a file-based makefile, the creation of which does
  19.      not use ffttnnsspplliitt to split the files.  The ffttnnmmggeenn utility inserts
  20.      dependency rules for include files and module usage.  See the EXAMPLES
  21.      section of this man page for an sample makefile that illustrates these
  22.      rules.
  23.  
  24.      The ffttnnmmggeenn utility accepts the following options:
  25.  
  26.      --aa                  Creates a file-based makefile that does not use
  27.                          ffttnnsspplliitt to split the source file.
  28.  
  29.      --cc _c_o_m_p_i_l_e_r         Specifies the Fortran compiling system used to
  30.                          convert the ..ff files to ..oo files (ff9900 by default)
  31.                          and link them to form an executable file.
  32.  
  33.      --ff _f_l_a_g_s            Specifies options to the Fortran compiling system.
  34.                          Enclose the argument specifying the option(s) in
  35.                          single quotation marks.
  36.  
  37.      --mm _m_a_k_e_f_i_l_e         Specifies the name of the makefile produced by the
  38.                          ffttnnmmggeenn utility (mmaakkeeffiillee by default).
  39.  
  40.      --oo _c_o_m_m_a_n_d__n_a_m_e     Specifies the resultant executable file (aa..oouutt by
  41.                          default).
  42.  
  43.      _n_a_m_e_s               Specifies the names of input files.
  44.  
  45.      Makefiles created by ffttnnmmggeenn have the following targets:
  46.  
  47.      aallll                 Creates the executable file _c_o_m_m_a_n_d__n_a_m_e (default
  48.                          rule).
  49.  
  50.      _c_o_m_m_a_n_d__n_a_m_e        Compiles and loads the program.
  51.  
  52.      cclleeaann               Removes all ..oo files.
  53.  
  54.      cclloobbbbeerr             Executes clean and then removes the executable
  55.                          files.
  56.  
  57.      vvooiidd                Removes everything created by the ffttnnmmggeenn utility.
  58.  
  59. NNOOTTEESS
  60.      ffttnnmmggeenn uses the ffttnnsspplliitt utility to split files and to provide module
  61.      and include file dependency analysis.
  62.  
  63.      ffttnnmmggeenn module dependency analysis can go only one level deep.  That
  64.      is, if A uses B, which in turn uses C, then a make dependency only
  65.      between A and B can be planted.  This allows for showing dependencies
  66.      between B and C but is not sufficient to allow A to show dependencies
  67.      on B and C.
  68.  
  69. EEXXAAMMPPLLEESS
  70.      The following example shows how to specify that the ff9900 command in the
  71.      mmaakkeeffiillee uses the --II....// and --vv flags when compiling the Fortran source
  72.      code files:
  73.  
  74.           ftnmgen -f '-I../ -v' fort1.f fort2.f fort3.f
  75.      The following command line and code fragments illustrate dependency
  76.      rules:
  77.  
  78.           ftnmgen -a file.f harry.f
  79.  
  80.      ffiillee..ff is:
  81.  
  82.           program fred
  83.           use harry
  84.           include "jim.h"
  85.           ...
  86.           end program fred
  87.  
  88.      hhaarrrryy..oo is:
  89.  
  90.           module harry
  91.           ...
  92.           end module harry
  93.  
  94.      creates a makefile containing the following rules:
  95.  
  96.           _f_i_l_e.o:  harry.o
  97.           _f_i_l_e.o:  jim.h
  98.  
  99.      In this example, if you had not specified hhaarrrryy..ff on the ffttnnmmggeenn
  100.      command line, the makefile would display the following message:
  101.  
  102.           _f_i_l_e.o:  ** NEED MODULE FILE FOR:  harry **
  103.  
  104.      This result would force you to hand edit the makefile.
  105.  
  106. FFIILLEESS
  107.      mmaakkeeffiillee          Default mmaakkee file created
  108.  
  109.      aa..oouutt             Default executable binary file name
  110.  
  111.      _f_i_l_e.ff[[9900]]        Input Fortran source code file
  112.  
  113.      _f_i_l_e.oo            Relocatable object code file
  114.  
  115. SSEEEE AALLSSOO
  116.      ff9900(1), ffttnnsspplliitt(1), mmaakkee(1),
  117.  
  118.      This man page is available only online.
  119.